package com.text;
//在进行spring测试时我们发现,也可以像mybatis一样
//将读取spring配置文件创建spring容器的过程封装成单例工具类
//防止重复加载相同的配置文件 然后使用单元测试 中的before与after
//在所有方法执行前调用工具类创建spring容器
//在所有方法执行后调用工具类关闭spring容器

import com.alibaba.druid.pool.DruidDataSource;
import com.mchange.v2.c3p0.ComboPooledDataSource;
import com.javabean.User;
import org.junit.Test;
import org.junit.runner.RunWith;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringRunner;

import java.sql.Connection;
import java.sql.SQLException;

//因为spring针对于spring的开发提供了spring-test用于spring的测试
//springTest基于单元测试与注解实现测试功能
@RunWith(SpringRunner.class)//用于标识spring测试容器
@ContextConfiguration("classpath:spring.xml")//标识读取的spring配置文件路径
public class SpringTest {

    @Autowired
    User u1;//spring会自动根据类型将spring容器中的对象注入
    @Autowired
    ComboPooledDataSource c3p0;
    @Autowired
    DruidDataSource druid;
    @Test
    public void u1(){
        System.out.println(u1);
    }
    @Test
    public void c3p0() throws SQLException {
        Connection connection = c3p0.getConnection();
        connection.close();
    }
    @Test
    public void druid() throws SQLException {
        Connection connection = druid.getConnection();
        connection.close();
    }


}
